'use strict';
const { Pool } = require('pg');
const config = require("../config/pg");
const pool = new Pool(config.DB);

const logPool = new Pool(config.LOG);
/** 查询数据库 */
exports.query = function(sql, rfun, para = [], rowMode = false){
    let qu = {text:sql};
    para && para.length && (qu.values = para);
    rowMode && (qu.rowMode = 'array');
    pool.query(qu, (err, res) => {
        if (err) {
            LOG.error('pgsql', err.stack);
            return rfun && rfun(null);
        }
        rfun && rfun(res);
    })
}
/** 查询日志库 */
exports.queryLog = function(sql, rfun, para = [], rowMode = false){
    let qu = {text:sql};
    para && para.length && (qu.values = para);
    rowMode && (qu.rowMode = 'array');
    logPool.query(qu, (err, res) => {
        if (err) {
            LOG.error('pgsql', err.stack);
            return rfun && rfun(null);
        }
        rfun && rfun(res);
    })
}
/** 参数保存日志 */
exports.log = function(tbname, para = []){
    let sql = "INSERT INTO " + tbname + " VALUES(NOW(),'" + para.join("','") + "')";
    logPool.query(sql, (err, res) => {
        if (err) {
            LOG.error('pgsql', err.stack);
        }
    })
}
/** 保存日志 */
exports.logsql = function(sql){
    logPool.query(sql, (err, res) => {
        if (err) {
            LOG.error('pgsql', err.stack);
        }
    })
}